Small cleanup in label sizing code.
authorPaolo Borelli <pborelli@gnome.org>
Sun, 17 Apr 2011 15:23:26 +0000 (17:23 +0200)
committerPaolo Borelli <pborelli@gnome.org>
Sun, 17 Apr 2011 15:23:26 +0000 (17:23 +0200)
Move ellipsized_chars calculation in the scope where it is used.

https://bugzilla.gnome.org/show_bug.cgi?id=647284

gtk/gtklabel.c

index a85eabe61aed47c3318335f192517611a192444c..718e4bf666c1504f784e378872710f7460e6de26 100644 (file)
@@ -3685,7 +3685,7 @@ gtk_label_get_preferred_layout_size (GtkLabel *label,
   GtkLabelPrivate *priv = label->priv;
   PangoLayout *layout;
   PangoRectangle rect;
-  gint text_width, ellipsize_chars, guess_width;
+  gint text_width, guess_width;
 
   /* "width-chars" Hard-coded minimum width:
    *    - minimum size should be MAX (width-chars, strlen ("..."));
@@ -3718,12 +3718,6 @@ gtk_label_get_preferred_layout_size (GtkLabel *label,
   pango_layout_get_extents (layout, NULL, &rect);
   text_width = rect.width;
 
-  /* enforce minimum width for ellipsized labels at ~3 chars */
-  if (priv->ellipsize)
-    ellipsize_chars = 3;
-  else
-    ellipsize_chars = 0;
-
   /* "width-chars" Hard-coded minimum width: 
    *    - minimum size should be MAX (width-chars, strlen ("..."));
    *    - natural size should be MAX (width-chars, strlen (priv->text));
@@ -3745,10 +3739,13 @@ gtk_label_get_preferred_layout_size (GtkLabel *label,
 
   if (priv->ellipsize || priv->wrap)
     {
-      gint char_pixels;
+      gint char_pixels, ellipsize_chars;
 
       char_pixels = get_char_pixels (GTK_WIDGET (label), layout);
 
+      /* enforce minimum width for ellipsized labels at ~3 chars */
+      ellipsize_chars = priv->ellipsize ? 3 : 0;
+
       required->width = char_pixels * MAX (priv->width_chars, ellipsize_chars);
 
       /* Default to the minimum width regularly guessed by GTK+ if no minimum